/*
 * zzllrr Mather
 * zzllrr@gmail
 * Released under MIT License
 */

wiki['Concept/Matrix/Type']=Kx(

detail('矩阵类型', Table([ZLR('名称 记法 定义 性质')],[
	ZLR('矩阵\nMatrix____'+khrA(['A','A_{m×n}','(a_{ij})_{m×n}','[a_{ij}]_{m×n}'])+'____m行×n列元素____','','____'),
	ZLR('方阵\nSquare Matrix____'+khrA(['A','A_n','(a_{ij})_n','[a_{ij}]_n'])+'____行列数相等____','','____'),
	ZLR('上三角矩阵\nUpper Triangular____$U$____主对角线上方都为0____'+kul(['全体构成环\n（对矩阵加法、乘法）','再加上数乘构成代数']),'','____'),
	ZLR('下三角矩阵\nLower Triangular____$L$____主对角线下方都为0____'+kul(['全体构成环\n（对矩阵加法、乘法）','再加上数乘构成代数']),'','____'),
	ZLR('对角矩阵\nDiagonal____$'+kxf('diag')+'(a_1,a_2,⋯)$____主对角线之外都为0____'+
		kul(['是上（下）三角方阵','全体构成交换环\n（对矩阵加法、乘法）','再加上数乘构成代数']),'','____'),
	ZLR('准对角矩阵\nquasi-Diagonal____$'+kxf('diag')+'(A_1,A_2,⋯)$____主对角线都是小方阵\n其余都为$0$','','____'),
	ZLR('单位矩阵\nIdentity____'+khrA(['I','E'])+'____主对角线都为$1$\n其余都为$0$','','____'),
	ZLR('数量矩阵\n纯量矩阵\n标量阵\nScalar____'+khrA(['kI','kE'])+'____主对角线都为$k$\n其余都为$0$____'+
		kul(['是上（下）三角','对角方阵','全体构成交换环\n（对矩阵加法、乘法）','再加上数乘构成代数']),'','____'),
	ZLR('矩阵单位\nMatrix Unit____I_{m×n}____最简行阶梯矩阵\n主对角线全为1，其余为0','','____'),
	ZLR('零矩阵\n____'+khrA(['O','O'])+'____元素都为0','','____'),
	ZLR('阿达马矩阵\nHadamard\n________方阵$A$满足：\n元素都为$±1$，且$AA^T=nI$____'+
		kul(['阶数是1,2或4k']),'','____'),
	ZLR('阶梯型矩阵\n________每一行第一个非零元下方都为0','','____'),
	ZLR('行最简形矩阵\n________阶梯型矩阵\\\\ 且每一行第一个非零元为1\\\\ 该列其余元都为0','','____'),
	ZLR('（等价）标准型\nNormal________'+khrA(['阶梯型矩阵\\\\ 且每一行第一个非零元为1，\\\\ 后面都为0','左上角是单位矩阵\\\\ 其余为0']),'','____'),
	ZLR('初等矩阵\nelementary____'+kxA(['P(i(c))','P(i,j(k))','P(i,j)'])+'____'+khrA(['单位矩阵I经过1次初等变换'])+
		'____'+kul(['A^{-1}, a^T是初等矩阵','初等矩阵乘积  ⇔ 可逆矩阵',
		'左乘初等矩阵 ⇔ 初等行变换','右乘初等矩阵 ⇔ 初等列变换']),'','____'),

	ZLR('对称矩阵\nSymmetric________A=A^T____'+
		kul([piece(['A+A^T','A^TA','AA^T'])+'都是对称矩阵\\\\ （此处不要求A是对称矩阵，也不必是方阵）',
			'A对称 ⇒ '+piece(['kA','A^T','A^*','A^{-1}','A^n'],1)+'是对称矩阵',
			'A、B对称 ⇒ '+piece(['kA+bB对称',piece(['AB+BA对称','AB-BA反对称','AB对称 ⇔ AB=BA'],1)+'A、B都反对称时也成立']),
			'A对称 ⇔ S^TAS对称（其中S是任意n阶矩阵）',
			'任意矩阵A都可以写成对称矩阵与反对称矩阵之和\\\\ A='+frac('A+A^T',2,'')+'+'+frac('A-A^T',2,''),
		]),'','____'),
	ZLR('斜（反）对称矩阵\n交错矩阵\nSkew-symmetric\nAntisymmetric/Antimetric________A=-A^T____'+
		kul(['A-A^T是反对称矩阵',
			'主对角线元素都为0',
			'奇数阶 ⇒ 行列式|A|=0',
			'A、B反对称 ⇒ '+piece(['kA+bB反对称','AB反对称 ⇔ AB=-BA',piece(['AB+BA对称','AB-BA反对称','AB对称 ⇔ AB=BA'],1)+'A、B都对称时也成立']),
			]),'','____'),
		
	ZLR('Hermite矩阵\n自共轭转置矩阵\nH矩阵\nConjugate Transpose\nHermitian____'+khrA(['H'])+'____A=A^H____'+
		kul([piece(['A+A^H','A^HA','AA^H'],1)+'都是H矩阵\\\\ （此处不要求A是H矩阵，也不必是方阵）',
			'A是H矩阵 ⇒ '+piece([piece(['kA','A^H','A^*','A^{-1}','A^n'],1)+'是H矩阵',
				'iA是反H矩阵',
				'A是正规矩阵',
				'特征值都是实数',
				'不同特征值所对应的特征向量相互正交'
			]),
			'A、B是H矩阵 ⇒ '+piece(['kA+bB是H矩阵（其中k,b是任意实数）',piece(['AB+BA是H矩阵','AB-BA 是反H矩阵','AB是H矩阵 ⇔ AB=BA'],1)+'A、B都反H时也成立']),
			Eq([['','A是H矩阵'],'S^HAS是H矩阵（其中S是任意n阶矩阵）','x^HAx 是实数（其中x是任意n维向量）'],'','','⇔'),

			'任意矩阵A都可以写成H矩阵与反H矩阵之和\\\\ A='+frac('A+A^H',2,'')+'+'+frac('A-A^H',2,''),
			'任意复矩阵A都可以唯一写成（类似于复数）\\\\ A='+frac('A+A^H',2,'')+'+i(-i)'+frac('A-A^H',2,''),
		]),'','____'),
	ZLR('反Hermite矩阵\n反自共轭转置矩阵\n反H矩阵________A=-A^H____'+
		kul(['A-A^H是反H矩阵\\\\ （此处不要求A是H矩阵，也不必是方阵）',
			'A是反H矩阵 ⇒ '+piece([piece(['kA', 'A^H', 'A^*', 'A^{-1}','A^n（n是奇数）', 'UAU^H （其中U是任意复矩阵）'],1)+'是反H矩阵',
				piece(['A^k（k是偶数）', 'iA'],1)+'是H矩阵',
				'主对角线元素都是0或纯虚数',
				'A是正规矩阵',
				'特征值都是0或纯虚数',
				'不同特征值所对应的特征向量相互正交',
				'|A|是'+piece([['实数','当阶数n是偶数时'],['复数','当阶数n是奇数时']]),
				
			]),
			'A、B是反H矩阵  ⇒ '+piece(['kA+bB是反H矩阵（其中k,b是任意实数）','AB是反H矩阵 ⇔ AB=-BA',piece(['AB+BA是H矩阵','AB-BA是反H矩阵','AB是H矩阵 ⇔ AB=BA'],1)+'A、B都反H时也成立']),
			'A是H矩阵，B是反H矩阵 ⇒ '+piece(['AB是反H矩阵 ⇔ AB=BA']),
			Eq([['','A是反H矩阵'],'S^HAS是反H矩阵（其中S是任意n阶矩阵）','x^HAx是实数（其中x是任意n维向量）'],'','','⇔'),

		]),'','____'),
	ZLR('奇异矩阵\n退化、不可逆、降秩\nsingular________'+khrA(['|A|=0','r(A) < n'])+'________','','____'),

	ZLR('非奇异矩阵\n非退化、可逆、满秩\nInvertible/Non-singular________'+khrA(['存在矩阵B，\\\\ 满足AB=BA=I',
		'|A|≠0','r(A) = n','A=∏P_i\\\\ 其中P_i是初等矩阵'])+'____'+
		kul(['逆矩阵A^{-1}存在则唯一']),'','____'),


	ZLR('正定矩阵\nPositive-Definite________'+khrA(['实对称阵A，满足：x^TAx > 0 \\\\ 其中x∈R^n为任意非零向量',
			'特征值都为正',
			'各阶顺序主子式都为正',
			'A合同于单位阵',
			])+'____'+
		kul(['可逆',
			'任一主子矩阵正定',
			'A^{-1}正定',
			'-A负定',
			'A可逆 ⇒ A^TA正定 \\\\ 证明：此处不要求A正定，用定义证',
			'∃可逆矩阵L，满足A=LL^T \\\\ '+kbox('Cholesky分解'),
			'∃正定矩阵B，满足B^2=A',
			'A、B正定 ⇒ '+piece([
				'A+B正定',
				ztable([['证明：','用定义证'],
					['必要性：',zarray(['AB正定，则','AB=(AB)^T=B^TA^T=BA'])],
					['充分性：',zarray(['AB=BA，则存在矩阵P,Q，','使得A=P^TP, B=Q^TQ，','则AB=P^TPQ^TQ'])]]),
			])
		]),'','____'),
	ZLR('负定矩阵\nNegative-Definite________'+khrA(['实对称阵A，满足：x^TAx < 0 \\\\ 其中x∈R^n为任意非零向量',
			'特征值都为负',
			piece(['奇数阶顺序主子式都为负','偶数阶顺序主子式都为正']),
			'A合同于负单位阵-E'
			])+'____'+
		kul(['可逆','任一主子矩阵负定',
			'-A正定'
			]),'','____'),
	ZLR('半正定矩阵\nPositive-SemiDefinite________'+khrA(['实对称阵A，满足：x^TAx ≥ 0 \\\\ 其中x∈R^n为任意非零向量',
		'特征值都非负，但至少1个为0'])+'____'+
		kul(['不可逆','-A半负定']),'','____'),
	ZLR('半负定矩阵\nNegative-SemiDefiniten________'+khrA(['实对称阵A，满足：x^TAx ≤ 0 \\\\ 其中x∈R^n为任意非零向量',
		'特征值都非正，但至少1个为0'])+'____'+
		kul(['不可逆','-A半正定']),'','____'),
	ZLR('不定矩阵\nIndefinite________'+khrA(['实对称阵A，满足：x^TAx符号不定 \\\\ 其中x∈R^n为任意非零向量',
		'特征值有正有负'])+'____'+
		kul(['-A不定']),'','____'),



	ZLR('置换矩阵\nPermutation________每行每列恰有1个1，其余为0____','','____'),

	ZLR('单构矩阵\n________'+khrA(['A有n个线性无关的特征向量','A与对角阵相似（可对角化）','A的特征值的代数重数等于几何重数','最小多项式没有重根'])+'____','','____'),

	ZLR('正规矩阵\nNormal________A^HA = AA^H 复矩阵\\\\ A^TA = AA^T 实矩阵____'+
		kul(['复正规 ⇔ '+piece(['可酉变换对角化','酉相似于对角矩阵：','∃酉矩阵U，使得U^HAU=Λ对角阵',
				'A有n个两两正交的单位特征向量',
				'谱分解：'//http://www.docin.com/p-408423200.html
				]),
			'实正规 ⇔ '+piece([
				'A的特征值都是实数'
				])
		])+'____'+kul([
		'典型：'+kbrA(ZLR('对角阵 对称阵 反对称阵 Hermite矩阵 反Hermite矩阵 正交矩阵 酉矩阵'))
		]),'','____'),

	ZLR('正交矩阵\nOrthogonal________'+khrA(['A^T=A^{-1}','A^TA=AA^T=I','列（行）向量是两两正交的单位向量'])+'____'+
		kul(['可逆',
			'|A| = ±1',
			'特征值是模为1的复数\\\\ 且共轭复数成对出现',
			kxA(['实正交矩阵，特征值是±1，','其中-1的个数s满足','\\text{tr}(A) = n-2s ','|A| = (-1)^s']),
			kxA(['数量实正交矩阵kA，特征值是±k，','其中负特征值的个数s满足','\\text{tr}(kA) = k(n-2s)','|kA| = (-1)^sk^n']),


			'这些都是正交矩阵：'+piece(['-A','A^{-1}=A^T','A^*=|A|A^{-1}=|A|A^T','A^k（k是整数）']),
			kxA(['全体构成乘法群：','单位元是单位矩阵','逆元是转置']),
			'正交变换，保持向量内积和长度不变（几何特征不变）',
			'例如：'+
			zmtrx([[0,1],[-1,0]]),
			]),'','____'),
	ZLR('旋转矩阵\n第一类正交矩阵\nRotational________正交矩阵且|A|=1____'+
		kul(['可逆','|A|=1']),'','____'),

	ZLR('平面旋转矩阵\nGivens变换矩阵________'+zmtrx([['I_a','','','',''],['','\\cos θ','','\\sin θ',''],['','','I_b','',''],['','-\\sin θ','','\\cos θ',''],['','','','','I_c']])+'____'+
		kul([]),'','____'),
		
	ZLR('镜面反射矩阵\n第二类正交矩阵\nHouseholder变换矩阵____'+khrA(['H'])+'____'+
		khrA(['正交矩阵且|A|=-1','H是对称正交矩阵',kxA(['H=I-2vv^T','其中v是n维列向量','\\| v \\|_2=v^Tv=1'])])+'____'+
		kul(['可逆','|A|=-1','保持内积不变\\| Hx \\|_2=\\|x\\|_2']),'','____'),

	ZLR('酉矩阵\nUnitary____'+khrA(['U'])+'____'+khrA(['A^H=A^{-1}A^HA=AA^H=I',
		'正交矩阵在复数域上的推广','A的n个列向量\n是两两正交的单位向量'])+'____'+
		kul(['可逆',
			'|A|=±1',
			'这些都是酉矩阵：'+piece(['-A','A^{-1}=A^H','A^*=|A|A^{-1}=|A|A^H','A^k（k是整数）']),

			'全体构成乘法群'
		]),'','____'),

	ZLR('辛矩阵\nSymplectic________$A^TPA = P$\n其中$P='+zmtrx([[0,'I_n'],['-I_n',0]])+'$____'+
		kul(['可逆','|A|=1']),'','____'),

	ZLR('度量矩阵\nMeasure____M____A^TA\\\\ 其中A是一组基的列向量组成的矩阵\\\\ M中各元素，\\\\也即基的列向量间的内积____'+
		kul(['是对称正定矩阵','两向量α,β在基下坐标x,y\\\\ 满足(α,β)=x^TMy']),'','____'),

	ZLR('Jordan块\n若尔当块\n约当块\nJordan Block\n____J_i(λ)____主对角线都是λ\\\\ 主对角线下方（第1条次对角线）都是1\\\\ 其余都为0____'+
		'','','____'),
	ZLR('Jordan矩阵\n若尔当矩阵\nJordan\n____J(λ)____若尔当块组成的准对角矩阵____'+
		'','','____'),

	ZLR('自逆矩阵\n________'+khrA(['A^{-1} = A','A^2=E'])+'____'+kul(['只有特征值1或-1','例：I、-I']),'','____'),
	ZLR('反自逆矩阵\n________'+khrA(['A^{-1} = -A','A^2=-E'])+'____'+kul(['只有特征值i或-i', '例：'+zmtrx([[0,-1],[1,0]])]),'','____'),


	ZLR('幂零矩阵\nnilpotent________A^m = O____'+
		kul(['\\text{tr}(A) = 0']),'','____'),
	ZLR('幂单矩阵\n________A^m = I____'+
		'','','____'),
	ZLR('对合矩阵\n________A^2 = I____'+
		kul(['可逆',
			'|A| = ±1',
			'|实特征向量对应的特征值| = 1？',
			'全体构成乘法群',
			kxA(['对称、正交、对合','满足其中2条，则必然满足第3条','即3个性质同时满足','或只满足1种']),
			'例如：'+zmtrx([['\\sin t','\\cos t'],['\\cos t','-\\sin t']])]),'','____'),
	ZLR('幂等矩阵\n投影矩阵\nidempotent/projection________'+
			khrA(['A^2=A',
			'r(A-I)+r(A) = n',
			'A \\sim '+zmtrx([['I_r',0],[0,0]]),'或A \\sim '+zmtrx([[0,0],[0,'I_r']])
			])+'____'+
		kul(['\\text{tr}(A) = r(A)','与对角阵相似 \\\\ 证明：化零多项式λ^2-λ=0没有重根，\\\\ 则最小多项式也不会有重根，\\\\ 从而与对角阵相似','特征值只能是0、1']),'','____'),
	ZLR('幂等H矩阵\n正交投影矩阵________A^2 = A = A^H________'+
		'','','____'),

	ZLR('范德蒙矩阵\nVandermonde____________'+
		'','','____'),

	ZLR('T分解矩阵（by zzllrr）\n________αβ^T\\\\ 其中α，β是非零列向量____'+
		kul(['r(A)=1',
			'\\text{tr}(A) = \\text{tr}(αβ^T)  = (α,β) =α^Tβ =β^Tα',
			'当α=β时，tr(A) = (α,α) > 0',
			ztable([['特征值','证明','特征向量','证明'],
				['0（n-1重）',zarray(['根据r(A)=1，','得知特征值0为n-1重']),zarray(['与β内积(x,β)=0的','n-1个线性无关向量','也即Ax=0的基础解系']),'根据Ax=αβ^Tx=α0=0'],
				['\\text{tr}(A)',zarray(['根据特征值之和是','λ+0(n-1)=\\text{tr}(A)']),'α','根据Aα=(αβ^T)α=α(β^Tα)=\\text{tr}(A)α']]),
			'例如：'+'全为1的矩阵'
		]),'','____'),


	ZLR('行和相等矩阵\n________A行和都为b____'+
		kul([kxA(['A^{-1}行和是b^{-1}',
				'证明：','A^{-1}='+frac('A^*','|A|',''),
				'考虑A^*行和等于A列代数余子式之和，',
				'即A列替换为1后的行列式，',
				'即A所有列加到1列后（行列式仍为|A|）',
				'再提取公因子b后的行列式，得到'+frac('|A|','b',''),
				'则'+frac('A^*','|A|','')+'行和是'+frac(1,'b','')
			]),
			kxA(['必有特征值b','证明：','特征行列式|λE-A|，所有行加到第1列，','可以提取第1列公因子λ-b，','因此特征方程|λE-A|=0，','必有一个特征值b']),
			kxA(['相应特征向量有α=(1,⋯,1)^T','证明：','利用行和相等，','立即得知Aα=bα']),
		]),'','____'),


	ZLR('柯西矩阵\nCauchy________\n____'+
		'','','____'),

	ZLR('希尔伯特矩阵\nHilbert____H____a_{ij} = '+frac(1,'i+j-1','')+'________'+
		'','','____'),
		
	ZLR('Hankel矩阵\n________\n____'+
		'','','____'),

	ZLR('Toeplitz矩阵\n________\n____'+
		'','','____'),
		
	ZLR('上Hessenberg矩阵\n拟上三角矩阵________i < j+1 ⇒ a_{ij}=0\\\\ 第1条次对角线下方元素均为0____'+
		'','','____'),
		
	ZLR('schur矩阵\n____'+
		'','','____'),
	
	ZLR('正互反矩阵\npositive reciprocal________a_{ij} < 0 且 a_{ij}a_{ji}=1____'+
		kul(['主对角线元素都为1']),'','____')
		
],'wiki').replace(/\n/g,br))

);